/**
 * <copyright>
 * </copyright>
 *
 * $Id$
 */
package metamodel.util;

import java.util.Map;

import metamodel.*;

import org.eclipse.emf.common.util.Diagnostic;
import org.eclipse.emf.common.util.DiagnosticChain;
import org.eclipse.emf.common.util.ResourceLocator;

import org.eclipse.emf.ecore.EPackage;

import org.eclipse.emf.ecore.util.EObjectValidator;

/**
 * <!-- begin-user-doc -->
 * The <b>Validator</b> for the model.
 * <!-- end-user-doc -->
 * @see metamodel.MetamodelPackage
 * @generated
 */
public class MetamodelValidator extends EObjectValidator {
	/**
	 * The cached model package
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public static final MetamodelValidator INSTANCE = new MetamodelValidator();

	/**
	 * A constant for the {@link org.eclipse.emf.common.util.Diagnostic#getSource() source} of diagnostic {@link org.eclipse.emf.common.util.Diagnostic#getCode() codes} from this package.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see org.eclipse.emf.common.util.Diagnostic#getSource()
	 * @see org.eclipse.emf.common.util.Diagnostic#getCode()
	 * @generated
	 */
	public static final String DIAGNOSTIC_SOURCE = "metamodel";

	/**
	 * A constant with a fixed name that can be used as the base value for additional hand written constants.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private static final int GENERATED_DIAGNOSTIC_CODE_COUNT = 0;

	/**
	 * A constant with a fixed name that can be used as the base value for additional hand written constants in a derived class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected static final int DIAGNOSTIC_CODE_COUNT = GENERATED_DIAGNOSTIC_CODE_COUNT;

	/**
	 * Creates an instance of the switch.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public MetamodelValidator() {
		super();
	}

	/**
	 * Returns the package of this validator switch.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	protected EPackage getEPackage() {
	  return MetamodelPackage.eINSTANCE;
	}

	/**
	 * Calls <code>validateXXX</code> for the corresponding classifier of the model.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	protected boolean validate(int classifierID, Object value, DiagnosticChain diagnostics, Map<Object, Object> context) {
		switch (classifierID) {
			case MetamodelPackage.TILE:
				return validateTile((Tile)value, diagnostics, context);
			case MetamodelPackage.BGMT_MODEL:
				return validateBGMTModel((BGMTModel)value, diagnostics, context);
			case MetamodelPackage.DICE:
				return validateDice((Dice)value, diagnostics, context);
			case MetamodelPackage.PLAYER:
				return validatePlayer((Player)value, diagnostics, context);
			case MetamodelPackage.START:
				return validateStart((Start)value, diagnostics, context);
			case MetamodelPackage.END:
				return validateEnd((End)value, diagnostics, context);
			case MetamodelPackage.MOVEMENT:
				return validateMovement((Movement)value, diagnostics, context);
			case MetamodelPackage.BOARD_RULE:
				return validateBoardRule((BoardRule)value, diagnostics, context);
			case MetamodelPackage.GAME_END:
				return validateGameEnd((GameEnd)value, diagnostics, context);
			case MetamodelPackage.LUCKY_ROLL:
				return validateLuckyRoll((LuckyRoll)value, diagnostics, context);
			case MetamodelPackage.TILE_CONNECTOR:
				return validateTileConnector((TileConnector)value, diagnostics, context);
			default:
				return true;
		}
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public boolean validateTile(Tile tile, DiagnosticChain diagnostics, Map<Object, Object> context) {
		if (!validate_NoCircularContainment(tile, diagnostics, context)) return false;
		boolean result = validate_EveryMultiplicityConforms(tile, diagnostics, context);
		if (result || diagnostics != null) result &= validate_EveryDataValueConforms(tile, diagnostics, context);
		if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(tile, diagnostics, context);
		if (result || diagnostics != null) result &= validate_EveryBidirectionalReferenceIsPaired(tile, diagnostics, context);
		if (result || diagnostics != null) result &= validate_EveryProxyResolves(tile, diagnostics, context);
		if (result || diagnostics != null) result &= validate_UniqueID(tile, diagnostics, context);
		if (result || diagnostics != null) result &= validate_EveryKeyUnique(tile, diagnostics, context);
		if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(tile, diagnostics, context);
		if (result || diagnostics != null) result &= validateTile_hasPrev(tile, diagnostics, context);
		if (result || diagnostics != null) result &= validateTile_hasNext(tile, diagnostics, context);
		return result;
	}

	/**
	 * The cached validation expression for the hasPrev constraint of '<em>Tile</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected static final String TILE__HAS_PREV__EEXPRESSION = "if oclIsTypeOf(Start) then conprev.oclAsSet()->size() = 0 else conprev.next = self endif";

	/**
	 * Validates the hasPrev constraint of '<em>Tile</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public boolean validateTile_hasPrev(Tile tile, DiagnosticChain diagnostics, Map<Object, Object> context) {
		return
			validate
				(MetamodelPackage.Literals.TILE,
				 tile,
				 diagnostics,
				 context,
				 "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot",
				 "hasPrev",
				 TILE__HAS_PREV__EEXPRESSION,
				 Diagnostic.ERROR,
				 DIAGNOSTIC_SOURCE,
				 0);
	}

	/**
	 * The cached validation expression for the hasNext constraint of '<em>Tile</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected static final String TILE__HAS_NEXT__EEXPRESSION = "if oclIsTypeOf(End) then connext.oclAsSet()->size() = 0 else connext.prev = self endif";

	/**
	 * Validates the hasNext constraint of '<em>Tile</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public boolean validateTile_hasNext(Tile tile, DiagnosticChain diagnostics, Map<Object, Object> context) {
		return
			validate
				(MetamodelPackage.Literals.TILE,
				 tile,
				 diagnostics,
				 context,
				 "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot",
				 "hasNext",
				 TILE__HAS_NEXT__EEXPRESSION,
				 Diagnostic.ERROR,
				 DIAGNOSTIC_SOURCE,
				 0);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public boolean validateBGMTModel(BGMTModel bgmtModel, DiagnosticChain diagnostics, Map<Object, Object> context) {
		if (!validate_NoCircularContainment(bgmtModel, diagnostics, context)) return false;
		boolean result = validate_EveryMultiplicityConforms(bgmtModel, diagnostics, context);
		if (result || diagnostics != null) result &= validate_EveryDataValueConforms(bgmtModel, diagnostics, context);
		if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(bgmtModel, diagnostics, context);
		if (result || diagnostics != null) result &= validate_EveryBidirectionalReferenceIsPaired(bgmtModel, diagnostics, context);
		if (result || diagnostics != null) result &= validate_EveryProxyResolves(bgmtModel, diagnostics, context);
		if (result || diagnostics != null) result &= validate_UniqueID(bgmtModel, diagnostics, context);
		if (result || diagnostics != null) result &= validate_EveryKeyUnique(bgmtModel, diagnostics, context);
		if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(bgmtModel, diagnostics, context);
		if (result || diagnostics != null) result &= validateBGMTModel_luckyRollMin(bgmtModel, diagnostics, context);
		if (result || diagnostics != null) result &= validateBGMTModel_uniqueImages(bgmtModel, diagnostics, context);
		if (result || diagnostics != null) result &= validateBGMTModel_luckyRollMax(bgmtModel, diagnostics, context);
		if (result || diagnostics != null) result &= validateBGMTModel_onlyOneStart(bgmtModel, diagnostics, context);
		if (result || diagnostics != null) result &= validateBGMTModel_hasGameEnd(bgmtModel, diagnostics, context);
		if (result || diagnostics != null) result &= validateBGMTModel_onlyOneEnd(bgmtModel, diagnostics, context);
		if (result || diagnostics != null) result &= validateBGMTModel_uniquePlayerIds(bgmtModel, diagnostics, context);
		return result;
	}

	/**
	 * The cached validation expression for the luckyRollMin constraint of '<em>BGMT Model</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected static final String BGMT_MODEL__LUCKY_ROLL_MIN__EEXPRESSION = "dice->forAll(rules->select(oclIsTypeOf(LuckyRoll))->first().oclAsType(LuckyRoll).number >= 1)";

	/**
	 * Validates the luckyRollMin constraint of '<em>BGMT Model</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public boolean validateBGMTModel_luckyRollMin(BGMTModel bgmtModel, DiagnosticChain diagnostics, Map<Object, Object> context) {
		return
			validate
				(MetamodelPackage.Literals.BGMT_MODEL,
				 bgmtModel,
				 diagnostics,
				 context,
				 "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot",
				 "luckyRollMin",
				 BGMT_MODEL__LUCKY_ROLL_MIN__EEXPRESSION,
				 Diagnostic.ERROR,
				 DIAGNOSTIC_SOURCE,
				 0);
	}

	/**
	 * The cached validation expression for the uniqueImages constraint of '<em>BGMT Model</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected static final String BGMT_MODEL__UNIQUE_IMAGES__EEXPRESSION = "players->isUnique(image)";

	/**
	 * Validates the uniqueImages constraint of '<em>BGMT Model</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public boolean validateBGMTModel_uniqueImages(BGMTModel bgmtModel, DiagnosticChain diagnostics, Map<Object, Object> context) {
		return
			validate
				(MetamodelPackage.Literals.BGMT_MODEL,
				 bgmtModel,
				 diagnostics,
				 context,
				 "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot",
				 "uniqueImages",
				 BGMT_MODEL__UNIQUE_IMAGES__EEXPRESSION,
				 Diagnostic.ERROR,
				 DIAGNOSTIC_SOURCE,
				 0);
	}

	/**
	 * The cached validation expression for the luckyRollMax constraint of '<em>BGMT Model</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected static final String BGMT_MODEL__LUCKY_ROLL_MAX__EEXPRESSION = "dice->forAll(rules->select(oclIsTypeOf(LuckyRoll))->first().oclAsType(LuckyRoll).number <= sides)";

	/**
	 * Validates the luckyRollMax constraint of '<em>BGMT Model</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public boolean validateBGMTModel_luckyRollMax(BGMTModel bgmtModel, DiagnosticChain diagnostics, Map<Object, Object> context) {
		return
			validate
				(MetamodelPackage.Literals.BGMT_MODEL,
				 bgmtModel,
				 diagnostics,
				 context,
				 "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot",
				 "luckyRollMax",
				 BGMT_MODEL__LUCKY_ROLL_MAX__EEXPRESSION,
				 Diagnostic.ERROR,
				 DIAGNOSTIC_SOURCE,
				 0);
	}

	/**
	 * The cached validation expression for the onlyOneStart constraint of '<em>BGMT Model</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected static final String BGMT_MODEL__ONLY_ONE_START__EEXPRESSION = "Start.oclAsSet()->size() = 1";

	/**
	 * Validates the onlyOneStart constraint of '<em>BGMT Model</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public boolean validateBGMTModel_onlyOneStart(BGMTModel bgmtModel, DiagnosticChain diagnostics, Map<Object, Object> context) {
		return
			validate
				(MetamodelPackage.Literals.BGMT_MODEL,
				 bgmtModel,
				 diagnostics,
				 context,
				 "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot",
				 "onlyOneStart",
				 BGMT_MODEL__ONLY_ONE_START__EEXPRESSION,
				 Diagnostic.ERROR,
				 DIAGNOSTIC_SOURCE,
				 0);
	}

	/**
	 * The cached validation expression for the hasGameEnd constraint of '<em>BGMT Model</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected static final String BGMT_MODEL__HAS_GAME_END__EEXPRESSION = "rules->select(oclIsTypeOf(GameEnd))->size() >= 1";

	/**
	 * Validates the hasGameEnd constraint of '<em>BGMT Model</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public boolean validateBGMTModel_hasGameEnd(BGMTModel bgmtModel, DiagnosticChain diagnostics, Map<Object, Object> context) {
		return
			validate
				(MetamodelPackage.Literals.BGMT_MODEL,
				 bgmtModel,
				 diagnostics,
				 context,
				 "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot",
				 "hasGameEnd",
				 BGMT_MODEL__HAS_GAME_END__EEXPRESSION,
				 Diagnostic.ERROR,
				 DIAGNOSTIC_SOURCE,
				 0);
	}

	/**
	 * The cached validation expression for the onlyOneEnd constraint of '<em>BGMT Model</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected static final String BGMT_MODEL__ONLY_ONE_END__EEXPRESSION = "tiles->select(oclIsTypeOf(End))->size() = 1";

	/**
	 * Validates the onlyOneEnd constraint of '<em>BGMT Model</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public boolean validateBGMTModel_onlyOneEnd(BGMTModel bgmtModel, DiagnosticChain diagnostics, Map<Object, Object> context) {
		return
			validate
				(MetamodelPackage.Literals.BGMT_MODEL,
				 bgmtModel,
				 diagnostics,
				 context,
				 "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot",
				 "onlyOneEnd",
				 BGMT_MODEL__ONLY_ONE_END__EEXPRESSION,
				 Diagnostic.ERROR,
				 DIAGNOSTIC_SOURCE,
				 0);
	}

	/**
	 * The cached validation expression for the uniquePlayerIds constraint of '<em>BGMT Model</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected static final String BGMT_MODEL__UNIQUE_PLAYER_IDS__EEXPRESSION = "players->isUnique(identifier)";

	/**
	 * Validates the uniquePlayerIds constraint of '<em>BGMT Model</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public boolean validateBGMTModel_uniquePlayerIds(BGMTModel bgmtModel, DiagnosticChain diagnostics, Map<Object, Object> context) {
		return
			validate
				(MetamodelPackage.Literals.BGMT_MODEL,
				 bgmtModel,
				 diagnostics,
				 context,
				 "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot",
				 "uniquePlayerIds",
				 BGMT_MODEL__UNIQUE_PLAYER_IDS__EEXPRESSION,
				 Diagnostic.ERROR,
				 DIAGNOSTIC_SOURCE,
				 0);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public boolean validateDice(Dice dice, DiagnosticChain diagnostics, Map<Object, Object> context) {
		if (!validate_NoCircularContainment(dice, diagnostics, context)) return false;
		boolean result = validate_EveryMultiplicityConforms(dice, diagnostics, context);
		if (result || diagnostics != null) result &= validate_EveryDataValueConforms(dice, diagnostics, context);
		if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(dice, diagnostics, context);
		if (result || diagnostics != null) result &= validate_EveryBidirectionalReferenceIsPaired(dice, diagnostics, context);
		if (result || diagnostics != null) result &= validate_EveryProxyResolves(dice, diagnostics, context);
		if (result || diagnostics != null) result &= validate_UniqueID(dice, diagnostics, context);
		if (result || diagnostics != null) result &= validate_EveryKeyUnique(dice, diagnostics, context);
		if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(dice, diagnostics, context);
		if (result || diagnostics != null) result &= validateDice_moreThanOneSide(dice, diagnostics, context);
		return result;
	}

	/**
	 * The cached validation expression for the moreThanOneSide constraint of '<em>Dice</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected static final String DICE__MORE_THAN_ONE_SIDE__EEXPRESSION = "sides > 1";

	/**
	 * Validates the moreThanOneSide constraint of '<em>Dice</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public boolean validateDice_moreThanOneSide(Dice dice, DiagnosticChain diagnostics, Map<Object, Object> context) {
		return
			validate
				(MetamodelPackage.Literals.DICE,
				 dice,
				 diagnostics,
				 context,
				 "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot",
				 "moreThanOneSide",
				 DICE__MORE_THAN_ONE_SIDE__EEXPRESSION,
				 Diagnostic.ERROR,
				 DIAGNOSTIC_SOURCE,
				 0);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public boolean validatePlayer(Player player, DiagnosticChain diagnostics, Map<Object, Object> context) {
		return validate_EveryDefaultConstraint(player, diagnostics, context);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public boolean validateStart(Start start, DiagnosticChain diagnostics, Map<Object, Object> context) {
		if (!validate_NoCircularContainment(start, diagnostics, context)) return false;
		boolean result = validate_EveryMultiplicityConforms(start, diagnostics, context);
		if (result || diagnostics != null) result &= validate_EveryDataValueConforms(start, diagnostics, context);
		if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(start, diagnostics, context);
		if (result || diagnostics != null) result &= validate_EveryBidirectionalReferenceIsPaired(start, diagnostics, context);
		if (result || diagnostics != null) result &= validate_EveryProxyResolves(start, diagnostics, context);
		if (result || diagnostics != null) result &= validate_UniqueID(start, diagnostics, context);
		if (result || diagnostics != null) result &= validate_EveryKeyUnique(start, diagnostics, context);
		if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(start, diagnostics, context);
		if (result || diagnostics != null) result &= validateTile_hasPrev(start, diagnostics, context);
		if (result || diagnostics != null) result &= validateTile_hasNext(start, diagnostics, context);
		return result;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public boolean validateEnd(End end, DiagnosticChain diagnostics, Map<Object, Object> context) {
		if (!validate_NoCircularContainment(end, diagnostics, context)) return false;
		boolean result = validate_EveryMultiplicityConforms(end, diagnostics, context);
		if (result || diagnostics != null) result &= validate_EveryDataValueConforms(end, diagnostics, context);
		if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(end, diagnostics, context);
		if (result || diagnostics != null) result &= validate_EveryBidirectionalReferenceIsPaired(end, diagnostics, context);
		if (result || diagnostics != null) result &= validate_EveryProxyResolves(end, diagnostics, context);
		if (result || diagnostics != null) result &= validate_UniqueID(end, diagnostics, context);
		if (result || diagnostics != null) result &= validate_EveryKeyUnique(end, diagnostics, context);
		if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(end, diagnostics, context);
		if (result || diagnostics != null) result &= validateTile_hasPrev(end, diagnostics, context);
		if (result || diagnostics != null) result &= validateTile_hasNext(end, diagnostics, context);
		return result;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public boolean validateMovement(Movement movement, DiagnosticChain diagnostics, Map<Object, Object> context) {
		if (!validate_NoCircularContainment(movement, diagnostics, context)) return false;
		boolean result = validate_EveryMultiplicityConforms(movement, diagnostics, context);
		if (result || diagnostics != null) result &= validate_EveryDataValueConforms(movement, diagnostics, context);
		if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(movement, diagnostics, context);
		if (result || diagnostics != null) result &= validate_EveryBidirectionalReferenceIsPaired(movement, diagnostics, context);
		if (result || diagnostics != null) result &= validate_EveryProxyResolves(movement, diagnostics, context);
		if (result || diagnostics != null) result &= validate_UniqueID(movement, diagnostics, context);
		if (result || diagnostics != null) result &= validate_EveryKeyUnique(movement, diagnostics, context);
		if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(movement, diagnostics, context);
		if (result || diagnostics != null) result &= validateTile_hasPrev(movement, diagnostics, context);
		if (result || diagnostics != null) result &= validateTile_hasNext(movement, diagnostics, context);
		return result;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public boolean validateBoardRule(BoardRule boardRule, DiagnosticChain diagnostics, Map<Object, Object> context) {
		return validate_EveryDefaultConstraint(boardRule, diagnostics, context);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public boolean validateGameEnd(GameEnd gameEnd, DiagnosticChain diagnostics, Map<Object, Object> context) {
		return validate_EveryDefaultConstraint(gameEnd, diagnostics, context);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public boolean validateLuckyRoll(LuckyRoll luckyRoll, DiagnosticChain diagnostics, Map<Object, Object> context) {
		return validate_EveryDefaultConstraint(luckyRoll, diagnostics, context);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public boolean validateTileConnector(TileConnector tileConnector, DiagnosticChain diagnostics, Map<Object, Object> context) {
		return validate_EveryDefaultConstraint(tileConnector, diagnostics, context);
	}

	/**
	 * Returns the resource locator that will be used to fetch messages for this validator's diagnostics.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public ResourceLocator getResourceLocator() {
		// TODO
		// Specialize this to return a resource locator for messages specific to this validator.
		// Ensure that you remove @generated or mark it @generated NOT
		return super.getResourceLocator();
	}

} //MetamodelValidator
